import java.util.HashMap;

public class code3 {
//    力扣 150 有效字母异位
public boolean isAnagram(String s, String t) {
    // 方法一：使用 哈希表 通过 哈希表将当前的两个参数中的一个记录下来
    // 之后在根据另一个参数获取对应的 value 值并且进行 减一 操作，直到值 小于 0;

    if(s.length() != t.length()) {
        return false;
    }

    // 定义一个 hashMap
    HashMap<Character, Integer> map = new HashMap<>();

    // 使用 for 循环将 s 字符串添加进去
    for(int i = 0; i < s.length(); i++) {
        char ch1 = s.charAt(i);
        if(!map.containsKey(ch1)) {
            // 如果这个元素不存在，此时将这个元素添加进去
            map.put(ch1, 1);
        }
        map.put(ch1, map.get(ch1) + 1);
    }

    // 在使用一次 for 循环，此时使用 t 字符串进行查找，找到对应的 value 值进行 -1 操作，直到 value 的值为 0
    for(int j = 0; j < t.length(); j++) {
        char ch2 = t.charAt(j);
        if(map.get(ch2) == null) {
            return false;
        }

        map.put(ch2, map.get(ch2) - 1);

        // 注意这里是 <= 0
        if(map.get(ch2) <= 0) {
            return false;
        }
    }
    return true;
}
}
